import java.io.*;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class Toolbox {
    
    public static ArrayList<String> lectureDuFichierTexte(String nomDuFichier){
	ArrayList<String> resultat = new ArrayList<String>();
	Scanner sc = new Scanner("init");
	try{
	    sc = new Scanner(new File(nomDuFichier));
	}
	catch(IOException e){
	    e.printStackTrace();
	}
	while(sc.hasNextLine()){
	    resultat.add(sc.nextLine());
	}
	return resultat;
    }

    public static String getDerniereLigne(String fichierTxt){
	String resultat = "";
		
	
	return resultat;
    }
    
    public static String recupererDerniereCommande(){
	// lire si la dernière ligne du fichier est différente de la variable derniereCommande
	ArrayList<String> contenuFichier = new ArrayList<String>();
	contenuFichier = lectureDuFichierTexte("C:\\Users\\Quentin\\Documents\\workspace\\SOSIE Qr\\src\\test.txt");
	//System.out.println((String)contenuFichier.get(contenuFichier.size()-1));
	return (String)contenuFichier.get(contenuFichier.size()-1);
    }

    public static Action determinerAction(ArrayList<String> args){
	Boolean estFirst = true;
	ArrayList<String> al = new ArrayList<String>();
	if(args.get(0).equals("http")){
	    StringBuffer address = new StringBuffer("");
	    for(int i = 0 ; i < args.size() ; i++){
		if(!estFirst){
		    address.append(":");
		}
		address.append(args.get(i));
		al.add(address.toString());
		estFirst = false;
	    }
	    return new Action("Internet", al);
	}
	if(args.get(0).equals("SMSTO")){
	    al.add(args.get(1));
	    al.add(args.get(2));
	    return new Action("SMS", al);
	}
	if(args.get(0).equals("WIFI")){
	    StringBuffer tmp = new StringBuffer(args.get(3));
	    String strtmp = tmp.substring(0, tmp.length() - 3);
	    al.add( strtmp); // Ajout du SSID
	    
	    tmp =  new StringBuffer(args.get(4));
	    strtmp = tmp.substring(0, tmp.length() - 3);
	    al.add( strtmp); // Ajout du SSID
	    
	    tmp =  new StringBuffer(args.get(5));
	    strtmp = tmp.substring(0, tmp.length() - 3);
	    al.add( strtmp); // Ajout du SSID

	}
	else{
	    StringBuffer txt = new StringBuffer("");
	    for(int i = 0 ; i < args.size() ; i++){
		txt.append(args.get(i));
		txt.append(":");
		al.add(txt.toString());
	    }
	    return new Action("Texte", al);
	}

	return null;
    }
    
    public static Action recupererActionAssociee(String chaineATraiter){
	StringTokenizer strTok = new StringTokenizer(chaineATraiter, ":");
	ArrayList<String> args = new ArrayList<String>();
	Boolean falseArg = true;
	while(strTok.hasMoreTokens()){
	    if(!falseArg){
		args.add(strTok.nextToken());
	    }
	    else{
		strTok.nextToken();
	    }
	    falseArg = false;
	}
	
	System.out.println(determinerAction(args).toString());
	return determinerAction(args);
	
    }

}
